﻿#define _CRT_SECURE_NO_WARNINGS 1


#include<stdio.h>
#include<stdlib.h>
//struct Stu
//{
//	char name[20];//名字
//	int age;//年龄
//	char sex[5];//性别
//	char id[20];//学号
//};//分号不能丢
//
//int main()
//{
//	//按照结构成员的顺序初始化
//	struct Stu s = { "zhangsan", 20 , "nan","20230818001" };
//	printf("%s\n", s.name);
//	printf("%d\n", s.age);
//	printf("%s\n", s.sex);
//	printf("%s\n", s.id);
//
//	//按照指定的顺序初始化
//	struct  Stu s2 = { .age = 20,.name = "lisi",.id = "12345678",.sex = "nv" };
//	printf("%s\n", s2.name);
//	printf("%d\n", s2.age);
//	printf("%s\n", s2.sex);
//	printf("%s\n", s2.id);
//	return 0;
//}

//匿名结构体
//struct
//{
//	int a;
//	char b;
//	float c;
//}x;
//
//struct
//{
//	int a;
//	char b;
//	float c;
//}a[20] , *p;

//struct Node
//{
//	int data;
//	struct Node next;
//};

//struct Node
//{
//	int data;
//	struct Node* next;
//};

//练习1 
//struct S1
//{
//	char c1;
//	int i;
//	char c2;
//};

//练习2 
//struct S2
//{
//	char c1;
//	char c2;
//	int i;
//};

//练习3 


//练习4-结构体嵌套问题 

//struct S3
//{
//	double d;
//	char c;
//	int i;
//};
//
//struct S4
//{
//	char c1;
//	struct S3 s3;
//	double d;
//};
//
//int main()
//{
//	printf("%zd\n", sizeof(struct S4));
//	return 0;
//}

////练习2 
//struct S2
//{
//	char c1;
//	char c2;
//	int i;
//};
////printf("%zd\n",sizeof(struct S2));
////练习3 
//struct S3
//{
//	double d;
//	char c;
//	int i;
//};
//printf("%zd\n",sizeof(struct S3));
//练习4-结构体嵌套问题 
//struct S4
//{
//	char c1;
//	struct S3 s3;
//	double d;
//};
//printf("%zd\n",sizeof(struct S4));

//#include <stdio.h>
//#pragma pack(1)//设置默认对⻬数为1 
//struct S
//{
//	char c1;
//	int i;
//	char c2;
//};
//#pragma pack()//取消设置的对⻬数，还原为默认 
//int main()
//{
//	//输出的结果是什么？ 
//	printf("%d\n", sizeof(struct S));
//	return 0;
//}

//struct S
//{
//	int data[1000];
//	int num;
//};
//struct S s = { {1,2,3,4}, 1000 };
////结构体传参 
//void print1(struct S s)
//{
//	printf("%d\n", s.num);
//}
////结构体地址传参 
//void print2(struct S* ps)
//{
//	printf("%d\n", ps->num);
//}
//int main()
//{
//	print1(s); //传结构体 
//	print2(&s); //传地址 
//	return 0;
//}

//struct A
//{
//	int _a : 2;
//	int _b : 5;
//	int _c : 10;
//	int _d : 30;
//};

//struct A
//{
//int _a : 2;
//int _b : 5;
//int _c : 10;
//int _d : 30;
//};
//int main()
//{
//	struct A sa = { 0 };
//	scanf("%d", &sa._b);//这是错误的 
//
//	//正确的⽰范 
//	int b = 0;
//	scanf("%d", &b);
//	sa._b = b;
//	return 0;
//}

#include <stdio.h>

int main() {
    for (int i = 10000; i < 100000; i++) {
        int n = i;
        int sum = 0;
        sum = (n % 10) * (n / 10) + (n % 100) * (n / 100) + (n % 1000) * (n / 1000) + (n % 10000) * (n / 10000);
        if (sum == i) {
            printf("%d ", i);
        }
    }
    return 0;
}